iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
1
DevOps

遠離 DevOops系列 第 8

[Day 8] Oops!Gitea - 專案怎麼那麼肥!?

  • 分享至 

  • xImage
  •  

Oops 在跑CI/CD時,有遇過在 git clone step時非常之那麼久(超過1分鐘以上)!


先打開gitea進入此專案主頁
https://ithelp.ithome.com.tw/upload/images/20200914/20115289P0MytLLZ3c.png

請大家注意到此專案的Size!

再來請點開圖片下方藍色的bar

https://ithelp.ithome.com.tw/upload/images/20200914/20115289ITc2oslyth.png

這是gitea v1.12.0 以後才有的功能
Language statistics bar for repositories

所以可以判定這是個golang為主的專案

然後就可以找看看是不是有人把編譯後的執行檔commit上來了!(99%都是這個原因)

Oops 下個commit把執行檔移除卻Size還是沒變?


因為檔案會存在git object內,所以如果可以的話,建議把此專案砍掉重建
這裡幫大家整理專案砍掉重建的SOP流程

  1. 先通知專案擁有者們
  2. 預告動作時間
  3. 備份分支
  4. 開始刪除專案
  5. 請大家把重建專案clone下來,把備份的檔案搬遷到剛clone的專案內,並推上去新專案上
  6. 請大家檢查是否有遺漏檔案

如果忽視它呢?

如果持續忽視這個事情的話,過沒多久你的專案的size就會一直成長
再跑CI/CD時,會越來越慢,因為專案的size越來越肥/images/emoticon/emoticon06.gif

沒事可以來抓抓看


那麼要怎麼找出這些可能有把執行檔commit上gitea的專案呢?
首先要有管理者帳號 -> 點選右上角網站管理->點選儲存庫管理 -> 點開排序 -> 選擇 Largest Size

https://ithelp.ithome.com.tw/upload/images/20200914/20115289UGgsy8pcXv.png

再來就可以透過上述的流程,來抓抓看
是不是又有人,忘記寫.gitignore,把執行檔commit到git上囉/images/emoticon/emoticon06.gif


上一篇
[Day 7] Oops!Gitea - Container log to ELK
下一篇
[Day 9] Oops!Docker - Image 瘦身大法
系列文
遠離 DevOops30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言